home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / Cm_lite-lu48-en.txt < prev    next >
Encoding:
Text File  |  1999-06-27  |  2.5 KB  |  69 lines

  1.             -="Runnin' Butt-On"=-
  2.                     [lite version]
  3.         -------------------------------------
  4.         (c) The AntiXryst & tC... (June 1999)
  5.          Tutorial by Lucifer48, 24 june 1999
  6.         -------------------------------------
  7.  
  8.  
  9. ===============
  10. 1. INTRODUCTION
  11. ===============
  12.  
  13. We cannot press the register button :(, so after each key pressed, the crackme checks if the
  14. serial is valid. I enter my name, my dummy serial. Put a bpx hmemcpy and add a letter to the
  15. dummy serial in order to enter into the code. I am now into soft-ice:
  16.  
  17. XXXX:0045640A  CALL 00423854        ;we exit from here
  18. XXXX:0045640F  MOV  EAX,[EBP-18]    ;my name
  19. XXXX:00456412  CALL 00403AD0        ;gives the length of the name
  20. XXXX:00456417  ADD  EAX,11          ;+17
  21. XXXX:0045641A  CMP  EAX,14          ;the name must be greater than 2 chars
  22. XXXX:0045641D  JL   0045640C
  23. ...
  24. delphi reads the serial, checks if the size is null.
  25. then reads again the name and checks again the size.
  26. The length of the name is saved in [EBP-14], it will be the count of the loop.
  27.  
  28. ===========
  29. 2. THE LOOP
  30. ===========
  31.  
  32. go see the code, there are few additions.
  33. ...
  34. XXXX:00456A1  INC  DWORD PTR [EBP-0C]
  35. XXXX:00456A4  DEC  DWORD PTR [EBP-14]
  36. XXXX:00456A7  JNZ  00456465           ;end of the loop (at the end of this loop, there are 4 ..
  37. XXXX:00456A9  MOV  EAX,[EBP-04]       ;.. important values: EBX, ESI, [EBP-04] and [EBP-08])
  38. XXXX:00456AC  IMUL DWORD PTR [EBP-08] ;result in eax
  39. XXXX:00456AF  ADD  ESI,EAX
  40. XXXX:00456B1  XOR  ESI,EBX
  41. XXXX:00456B3  AND  ESI,7FFFFFFF       ;we want positive numbers
  42.  
  43. At this time ESI contains the final 'checksum' of our name, it will be compared after, with
  44. the serial.
  45.  
  46. XXXX:004564D8  LEA EAX,[EAX+EBX]      ;EAX= serial converted in hΘxa
  47. XXXX:004564DB  XOR EAX,EBX            ;ebx has the same value than at the end of the loop
  48. XXXX:004564DD  AND EAX,7FFFFFFF       ;we want positive numbers
  49. XXXX:004564E2  CMP ESI,EAX            ;check (pretty common)
  50. XXXX:004564E4  JNZ 0045640C           ;(jump) = bad cracker
  51.  
  52. If the right serial is entered, it is possible to press the register button. ;)
  53. You can see your gift :)
  54.  
  55. Name/ Lucifer48
  56. Serial/ 1738114503
  57.  
  58. ==============
  59. 3. FINAL WORDS
  60. ==============
  61.  
  62. cm_lite.c is the c++ keygen (done under linux), and another one, written in Delphi (3.0).
  63. This crackme is not very difficult. I will try the [advanced-version].
  64.  
  65. Greetings: ID group, Eternal Bliss (wonderfull site), tC... (for his *big* crackme in delphi ),
  66.            ACiD BuRN, and others i forgot.
  67.  
  68. Lucifer48
  69.